﻿using System;
using ComDevFx.Arch.Base.Persister.NH.Burrow;
using Microsoft.VisualStudio.TestTools.UnitTesting;

using ComDevFx.Arch.Base.Test.Domain;
using ComDevFx.Arch.Base.Test.Dao;

namespace ComDevFx.Arch.Base.Test
{
    [TestClass]
    public class TestFirst : BootStrapTestCaseBase
    {
        #region 附加测试特性
        //
        // 编写测试时，可以使用以下附加特性:
        //
        // 在运行类中的第一个测试之前使用 ClassInitialize 运行代码
        //[ClassInitialize()]
        //public static void MyClassInitialize(TestContext testContext){ }

        // 在类中的所有测试都已运行之后使用 ClassCleanup 运行代码
        // [ClassCleanup()]
        // public static void MyClassCleanup() { }
        //
        // 在运行每个测试之前，使用 TestInitialize 来运行代码
        // [TestInitialize()]
        // public void MyTestInitialize() { }
        //
        // 在每个测试运行完之后，使用 TestCleanup 来运行代码
        // [TestCleanup()]
        // public void MyTestCleanup() { }
        //
        #endregion

        [TestMethod]
        public void TestBaseApply()
        {
            var userInfoDao = new UserInfoDao();

            var userInfo = new UserInfo { UserName = "hanjalic tang", Age = 20 };
            userInfoDao.Save(userInfo);

            UserInfo userInfo2 = userInfoDao.Load(userInfo.Id);
            Assert.AreEqual(userInfo.Id, userInfo2.Id);

            var uid = userInfo2.Id;
            userInfoDao.Delete(userInfo2);
            Assert.IsNull(userInfoDao.Get(uid));
        }
    }
}
